#include<string>
#include<iostream>
using namespace std;
int main()
{
    FILE *ad;
    char a[100];
    string str;
    string adc;
	char x;
	while(1)     
	{
	int d=0,z=0, k=0;
	    cout<<"先输入wc.exe，功能，文件："<<endl;
	    cout<<"-d为代码行数,-z为空行数,-k为注释行数"<<endl;
		cin>>str;
		if(str!="wc.exe")cout<<"请输入wc.exe"<<endl;    //判断是否输入前缀 
		if(str=="wc.exe"){
	    cin>>a;
         if(a[1]=='h')  //代码行数 
		{
		    cin>>adc;
            if((ad=fopen((adc).c_str(),"r"))==NULL)     
		    cout<<"error"<<endl;
            x=fgetc(ad);
		    while(x!=EOF)
			{
			    if(x=='\n')    
	            d++;
			    x=fgetc(ad);
			}
		    fclose(ad);
		    cout<<"代码行数："<<d<<endl;
		}	
		else if(a[1]=='z')  //注释行数 
		{
            string adc;
		    cin>>adc;
            if((ad=fopen((adc).c_str(),"r"))==NULL)    
		    cout<<"error"<<endl;
            x=fgetc(ad);
		    while(x!=EOF)
			{
				if(x=='/')    //遇到两次斜杠数字加1 
				{
					x=fgetc(ad);
			        if(x=='/')
		            k++;
				}
			    x=fgetc(ad);
			}
		    fclose(ad);
		    cout<<"注释行数："<<k<<endl;
		}
		else if(a[1]=='b')  //空行数 
		{
		    cin>>adc;
            if((ad=fopen((adc).c_str(),"r"))==NULL)   
			{
			    cout<<"error"<<endl;
			}
            x=fgetc(ad);
		    while(x!=EOF)
			{
			    if(x=='\n')   //遇到两次空行数字加1 
				{
					x=fgetc(ad);
					if(x=='\n') 
				   z++;
				}
			    x=fgetc(ad);
			}
		    fclose(ad);
		    cout<<"空行数："<<z<<endl;
		}
	
	    else
		{
		    cout<<"请输入正确的指令"<<endl;
		}
	}
	}
	return 0;
}

